package com.ltkj.shop.service;

import java.util.List;
import com.ltkj.shop.domain.ShopGoods;
import com.ltkj.shop.domain.request.ShopGoodsParams;
import com.ltkj.shop.domain.vo.ShopGoodsVo;

/**
 * 文创商品Service接口
 * 
 * @author xupf
 * @date 2023-08-29
 */
public interface IShopGoodsService 
{
    /**
     * 查询文创商品
     * 
     * @param id 文创商品主键
     * @return 文创商品
     */
    public ShopGoodsVo selectShopGoodsById(Long id);

    /**
     * 查询文创商品列表
     * 
     * @param shopGoods 文创商品
     * @return 文创商品集合
     */
    public List<ShopGoodsVo> selectShopGoodsList(ShopGoods shopGoods);

    /**
     * 新增文创商品
     * 
     * @param shopGoods 文创商品
     * @return 结果
     */
    public ShopGoods insertShopGoods(ShopGoods shopGoods);

    /**
     * 修改文创商品
     * 
     * @param shopGoods 文创商品
     * @return 结果
     */
    public int updateShopGoods(ShopGoods shopGoods);

    /**
     * 批量删除文创商品
     * 
     * @param ids 需要删除的文创商品主键集合
     * @return 结果
     */
    public int deleteShopGoodsByIds(Long[] ids);

    /**
     * 删除文创商品信息
     * 
     * @param id 文创商品主键
     * @return 结果
     */
    public int deleteShopGoodsById(Long id);

    /**
     * 移动端 查询文创商品列表
     *
     * @param shopGoods 文创商品信息
     * @return 文创商品
     */
    List<ShopGoodsVo> selectList(ShopGoods shopGoods);

    /**
     * 移动端 查询文创商品
     *
     * @param id 文创商品主键
     * @return 文创商品
     */
    ShopGoodsVo getInfo(Long id);

    /**
     * 上架/下架商品
     * @param shopGoods
     * @return
     */
    int onOffShopGoods(ShopGoodsParams shopGoods);
}
